home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / X11 / extensions / lbxopts.h < prev    next >
C/C++ Source or Header  |  2006-04-12  |  4KB  |  134 lines

  1. /* $Xorg: lbxopts.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
  2. /*
  3.  * Copyright 1994 Network Computing Devices, Inc.
  4.  *
  5.  * Permission to use, copy, modify, distribute, and sell this software and
  6.  * its documentation for any purpose is hereby granted without fee, provided
  7.  * that the above copyright notice appear in all copies and that both that
  8.  * copyright notice and this permission notice appear in supporting
  9.  * documentation, and that the name Network Computing Devices, Inc. not be
  10.  * used in advertising or publicity pertaining to distribution of this
  11.  * software without specific, written prior permission.
  12.  *
  13.  * THIS SOFTWARE IS PROVIDED `AS-IS'.  NETWORK COMPUTING DEVICES, INC.,
  14.  * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT
  15.  * LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  16.  * PARTICULAR PURPOSE, OR NONINFRINGEMENT.  IN NO EVENT SHALL NETWORK
  17.  * COMPUTING DEVICES, INC., BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING
  18.  * SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE, DATA,
  19.  * OR PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND REGARDLESS OF
  20.  * WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE, ARISING OUT OF OR IN
  21.  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  22.  *
  23.  */
  24. /* $XFree86: xc/include/extensions/lbxopts.h,v 1.5 2001/01/17 17:53:21 dawes Exp $ */
  25.  
  26. #ifndef _LBX_OPTS_H_
  27. #define _LBX_OPTS_H_
  28.  
  29. /*
  30.  * Negotiable configuration options
  31.  */
  32. #define LBX_OPT_DELTA_PROXY        0
  33. #define LBX_OPT_DELTA_SERVER        1
  34. #define LBX_OPT_STREAM_COMP        2
  35. #define LBX_OPT_BITMAP_COMP        3
  36. #define LBX_OPT_PIXMAP_COMP        4
  37. #define LBX_OPT_MSG_COMP        5    /* aka "squishing" */
  38. #define LBX_OPT_USE_TAGS        6
  39. #define LBX_OPT_CMAP_ALL        7
  40. #define LBX_OPT_EXTENSION        255
  41.  
  42. /*
  43.  * Length fields are encoded in 1 or 3 bytes
  44.  */
  45. #define LBX_OPT_SMALLLEN_SIZE        1
  46. #define LBX_OPT_BIGLEN_SIZE        3
  47. #define LBX_OPT_BIGLEN_MIN        256
  48.  
  49. #define LBX_OPT_DECODE_LEN(p, len, size) \
  50.     if ((p)[0]) { \
  51.     (len) = (p)[0]; \
  52.     (size) = LBX_OPT_SMALLLEN_SIZE; \
  53.     } \
  54.     else { \
  55.     (len) = ((LBX_OPT_BIGLEN_MIN + (p)[1]) << 8) | (p)[2]; \
  56.     (size) = LBX_OPT_BIGLEN_SIZE; \
  57.     }
  58.  
  59. /*
  60.  * Option header lengths
  61.  */
  62. #define LBX_OPT_SMALLHDR_LEN        (1 + LBX_OPT_SMALLLEN_SIZE)
  63. #define LBX_OPT_BIGHDR_LEN        (1 + LBX_OPT_BIGLEN_SIZE)
  64.  
  65. /*
  66.  * Delta compression parameters
  67.  */
  68. #define LBX_OPT_DELTA_REQLEN        6
  69. #define LBX_OPT_DELTA_REPLYLEN        2
  70. #define LBX_OPT_DELTA_NCACHE_DFLT    16
  71. #define LBX_OPT_DELTA_MSGLEN_MIN    32
  72. #define LBX_OPT_DELTA_MSGLEN_DFLT    64
  73.  
  74.  
  75. /*
  76.  * Stream compression opts
  77.  */
  78.  
  79. #include <sys/types.h>
  80.  
  81. #if defined(WIN32) || (defined(USG) && !defined(CRAY) && !defined(umips) && !defined(MOTOROLA) && !defined(uniosu) && !defined(__sxg__))
  82.  
  83. struct iovec {
  84.     caddr_t iov_base;
  85.     int iov_len;
  86. };
  87.  
  88. #else
  89. #ifndef Lynx
  90. #include <sys/uio.h>
  91. #else
  92. #include <uio.h>
  93. #endif
  94. #endif
  95.  
  96. typedef void *LbxStreamCompHandle;
  97.  
  98. typedef struct _LbxStreamOpts {
  99.     LbxStreamCompHandle    (*streamCompInit)(int fd, pointer arg);
  100.     pointer        streamCompArg;
  101.     int            (*streamCompStuffInput)(
  102.                 int fd,
  103.                 unsigned char *buf,
  104.                 int buflen
  105.             );
  106.     int            (*streamCompInputAvail)(
  107.                 int fd
  108.             );
  109.     int            (*streamCompFlush)(
  110.                 int fd
  111.             );
  112.     int            (*streamCompRead)(
  113.                 int fd,
  114.                 unsigned char *buf,
  115.                 int buflen
  116.             );
  117.     int             (*streamCompWriteV)(
  118.                 int fd,
  119.                 struct iovec *iov,
  120.                 int iovcnt
  121.             );
  122.     void        (*streamCompOn)(
  123.                 int fd
  124.             );
  125.     void        (*streamCompOff)(
  126.                 int fd
  127.             );
  128.     void        (*streamCompFreeHandle)(
  129.                 LbxStreamCompHandle handle
  130.             );
  131. } LbxStreamOpts;
  132.  
  133. #endif /* _LBX_OPTS_H_ */
  134.